package com.wicket.okrapp.biz.service.dto.req;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddEvaThemeReqDto
 * @使用场景
 */
@Data
public class AddEvaThemeReqDto extends BaseDto implements Serializable {

  /**
   * 评价主题名称
   */
  @NotNull(message = "评价主题名称不能为空")
  @ApiModelProperty("评价主题名称")
  private String evaluationSubjectName;

  /**
   * 配置方案ID
   */
  @NotNull(message = "配置方案ID 不能为空")
  @ApiModelProperty("配置方案ID ")
  private String confSchemeId;

  /**
   * 授权类型 CYCLE_TIME:周期时间型 FIXED_TIME:固定时间型 QUANTITY:数量型
   */
  @ApiModelProperty("授权类型")
  private String authType;

  /**
   * 剩余授权数
   */
  @ApiModelProperty("剩余授权数")
  private Long remainingQty;

  /**
   * 授权单位 YEAR:年 A:个 COVER:套
   */
  @ApiModelProperty("授权单位")
  private String authUnit;

  /**
   * 开始时间
   */
  @ApiModelProperty("开始时间")
  private Date startTime;

  /**
   * 结束时间
   */
  @ApiModelProperty("结束时间")
  private Date endTime;

  /**
   * 是否主配置方案 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否主配置方案不能为空")
  @ApiModelProperty("是否主配置方案")
  private String isMainConfScheme;

  /**
   * 归属空间ID
   */
  @NotNull(message = "归属空间ID不能为空")
  @ApiModelProperty("归属空间ID")
  private String ascriptionSpaceId;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
